// 导入异步请求函数
import API from '../api'

// 导入常量
import {
    // RECEIVE_CATEGORY,
    // RECEIVE_GOODS_LIST
    RECEIVE_USER_INFO,
    RECEIVE_COUPON,
    // RECEIVE_COLLECT_LIST,
    RECEIVE_ADDRESS_LIST,
    RESET_USER_INFO,
    // ADD_ADDRESS
} from './mutation-types'

export default {
    // 异步获取商品分类
    // async getCategory({commit},parentId){
    //     // 发送异步ajax请求
    //     const result = await API.reqCategory(parentId)
    //     // 提交一个mutation
    //     if(result.retCode === '000'){
    //         const category = result.retData
    //         commit(RECEIVE_CATEGORY,{category})
    //     }
    // },
    // 同步记录用户信息（login界面已经请求过用户信息）
    recordUserInfo({commit}, userInfo) {
        commit(RECEIVE_USER_INFO, {userInfo})
    },
    
    // 同步记录用户登录状态
    setUser({commit},flag){
        commit(RECEIVE_USER_STATUS,flag)
    },

    // 异步请求我的优惠券列表
    async getMyCouponList({commit},{userId,token,code}){
        // console.log(userId,token,code)
        let result = await API.reqhasCoupon({userId,token,code})
        if(result.retCode === '000'){
            const coupon = result.retData
            console.log(coupon,code)
            commit(RECEIVE_COUPON,{coupon,code})
        }
    },

    // 异步请求我的收藏列表
    // async getMyCollectList({commit},{userId,token,num,size}){
    //     // console.log(userId,token,num,size)
    //     let result = await API.reqCollectList({userId,token,num,size})
    //     if(result.retCode === '000'){
    //         let collectList = result.retData
    //         console.log(result.retData)
    //         commit(RECEIVE_COLLECT_LIST,{collectList})
    //     }
    // },

    // 异步收藏商品 或 取消收藏商品
    async getCollection({commit},{userId,token,goodsId,code}){
        let result = await API.reqCancelCollect({userId,token,goodsId,code})
        if(result.retCode === '000'){
            let collect = result.retData
            console.log(collect)
            commit()
        }
    },

    // 异步获取地址列表
    async getAddressList({commit},{userId,token,num,size}){
        let result = await API.reqAddressList({userId,token,num,size})
        if(result.retCode === '000'){
            let addressList = result.retData
            // console.log('address',result.retData)
            commit(RECEIVE_ADDRESS_LIST,{addressList})
        }
    },


    // 异步退出登录
    async logout({commit},{userId,token}) {
        const result = await API.reqLogout({userId,token})
        if(result.code===0) {
            commit(RESET_USER_INFO)
        }
    },

    // 异步增加地址
    // async getNewAddress({commit},{userId,token,consignee,mobile,area,address,code}) {
    //     const result = await reqLogout({userId,token,consignee,mobile,area,address,code})
    //     if(result.code===0) {
    //         commit(ADD_ADDRESS)
    //     }
    // },
}